package com.zbkj.service.service;

import com.github.pagehelper.PageInfo;
import com.zbkj.common.request.OrderTraceLogsRecordFrontSearchRequest;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.model.agent.OrderTraceLogsRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.request.OrderTraceLogsRecordSaveRequest;
import com.zbkj.common.request.OrderTraceLogsRecordSearchRequest;
import com.zbkj.common.response.OrderTraceLogsRecordFrontPageDataResponse;
import com.zbkj.common.response.OrderTraceLogsRecordPageDataResponse;
import com.zbkj.common.response.OrderTraceLogsRecordDetailResponse;

import java.util.List;
/**
* @author Caiyc
* @description OrderTraceLogsRecordService 接口
* @date 2025-08-04
*/
public interface OrderTraceLogsRecordService extends IService<OrderTraceLogsRecord> {

    Boolean create(OrderTraceLogsRecordSaveRequest orderTraceLogsRecordSaveRequest);

    /**
     * 分页查询订单溯源号段表
     * @param request 查询条件
     * @param pageParamRequest 分页对行
     * @return 查询结果
     */
    PageInfo<OrderTraceLogsRecordPageDataResponse> getList(OrderTraceLogsRecordSearchRequest request, PageParamRequest pageParamRequest);

    PageInfo<OrderTraceLogsRecordFrontPageDataResponse> getListH5(OrderTraceLogsRecordFrontSearchRequest request, PageParamRequest pageParamRequest);
    PageInfo<OrderTraceLogsRecordFrontPageDataResponse> getListByOrderNo(String orderNo, PageParamRequest pageParamRequest);

    /**
    * 修改订单溯源号段表
    * @param orderTraceLogsRecordRequest
    * @return
    */
    boolean update(OrderTraceLogsRecordSaveRequest orderTraceLogsRecordRequest);

    /**
    * 批量删除
    * @param idList
    * @return
    */
    boolean batchDelete(List<Integer> idList);

    /**
    * 查询溯源套餐表详情
    * @param id
    * @return
    */
    OrderTraceLogsRecordDetailResponse getDetails(Integer id);

    OrderTraceLogsRecord getByIdException(Integer recordId);
}